/**
 * Created by 余华杰 on 2015/5/22.
 */

/*
 * 就绪队列构造函数
 * @param priority 就绪队列的优先级【0~49】
 * @param Queue 就绪队列【数组】
 * @param index 当前指向的进程
 * 进程的末尾的index为0
 */
function ReadyQueue(priority,Queue){
    this.priority=priority;
    this.Queue=Queue;
    this.index=-1;//-1表示当前没有进程在队列里面
}

/*
 * 就绪队列插入进程函数
 * @param Process 进程
 */
ReadyQueue.prototype.insertProcess=function(Process){
    /*
     * 把插入的进程插入到队列的末尾
     * 队列指针向后移动
    */
    //this.Queue[this.index]=Process;
    //next指针指向前面一个
    if(this.Queue.length>0)
        Process.next=this.Queue[0];
    else
        Process.next=null;
    this.index++;
    //把进程Process添加到队列的末尾
    this.Queue.unshift(Process);
}

/*
 * 队列删除进程，就是所删的进程已经完成
 */
ReadyQueue.prototype.deleteProcess=function(){
    /*
     * 删除当前指针指向的进程
     * 队列指针向前移动
     */
    var $readyDelete=$($("div.cms-priority")[0]);
    $readyDelete.remove();
    this.Queue.pop();
    this.index--;
    if(this.index>=0)
        this.Queue[this.index].next=null;
}